/**
 * Copyright (c) 2021 OceanBase
 * OceanBase CE is licensed under Mulan PubL v2.
 * You can use this software according to the terms and conditions of the Mulan PubL v2.
 * You may obtain a copy of Mulan PubL v2 at:
 *          http://license.coscl.org.cn/MulanPubL-2.0
 * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
 * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
 * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
 * See the Mulan PubL v2 for more details.
 */

#ifdef OB_OBJ_PRIV_TYPE_DEF
OB_OBJ_PRIV_TYPE_DEF(OBJ_PRIV_ID_NONE, "")
OB_OBJ_PRIV_TYPE_DEF(OBJ_PRIV_ID_ALTER, "ALTER")
OB_OBJ_PRIV_TYPE_DEF(OBJ_PRIV_ID_AUDIT, "AUDIT")
OB_OBJ_PRIV_TYPE_DEF(OBJ_PRIV_ID_COMMENT, "COMMENT")
OB_OBJ_PRIV_TYPE_DEF(OBJ_PRIV_ID_DELETE, "DELETE")
OB_OBJ_PRIV_TYPE_DEF(OBJ_PRIV_ID_GRANT, "GRANT")

OB_OBJ_PRIV_TYPE_DEF(OBJ_PRIV_ID_INDEX, "INDEX")
OB_OBJ_PRIV_TYPE_DEF(OBJ_PRIV_ID_INSERT, "INSERT")
OB_OBJ_PRIV_TYPE_DEF(OBJ_PRIV_ID_LOCK, "LOCK")
OB_OBJ_PRIV_TYPE_DEF(OBJ_PRIV_ID_RENAME, "RENAME")
OB_OBJ_PRIV_TYPE_DEF(OBJ_PRIV_ID_SELECT, "SELECT")
OB_OBJ_PRIV_TYPE_DEF(OBJ_PRIV_ID_UPDATE, "UPDATE")
OB_OBJ_PRIV_TYPE_DEF(OBJ_PRIV_ID_REFERENCES, "REFERENCES")
OB_OBJ_PRIV_TYPE_DEF(OBJ_PRIV_ID_EXECUTE, "EXECUTE")
OB_OBJ_PRIV_TYPE_DEF(OBJ_PRIV_ID_CREATE, "CREATE")

OB_OBJ_PRIV_TYPE_DEF(OBJ_PRIV_ID_FLASHBACK, "FLASHBACK")

OB_OBJ_PRIV_TYPE_DEF(OBJ_PRIV_ID_READ, "READ")
OB_OBJ_PRIV_TYPE_DEF(OBJ_PRIV_ID_WRITE, "WRITE")

OB_OBJ_PRIV_TYPE_DEF(OBJ_PRIV_ID_DEBUG, "DEBUG")

OB_OBJ_PRIV_TYPE_DEF(OBJ_PRIV_ID_MAX, "")
#endif

/* to do, No! May be no do forever. */
#ifdef asfasgasgfa

OB_OBJ_PRIV_TYPE_DEF(OBJ_PRIV_ID_ENQUEUE, "ENQUEUE")
OB_OBJ_PRIV_TYPE_DEF(OBJ_PRIV_ID_DEQUEUE, "DEQUEUE")
OB_OBJ_PRIV_TYPE_DEF(OBJ_PRIV_ID_UNDER, "UNDER")
OB_OBJ_PRIV_TYPE_DEF(OBJ_PRIV_ID_ON_COMMIT_REFRESH, "ON COMMIT REFRESH")
OB_OBJ_PRIV_TYPE_DEF(OBJ_PRIV_ID_QUERY_REWRITE, "QUERY REWRITE")
/* index */
OB_OBJ_PRIV_TYPE_DEF(OBJ_PRIV_ID_MERGE_VIEW, "MERGE VIEW")

OB_OBJ_PRIV_TYPE_DEF(OBJ_PRIV_ID_USE, "USE")
OB_OBJ_PRIV_TYPE_DEF(OBJ_PRIV_ID_FLASHBACK_ARCHIVE, "FLASHBACK ARCHIVE")

#endif

#ifndef OCEANBASE_SHARE_SCHEMA_OB_OBJ_PRIV_TYPE_
#define OCEANBASE_SHARE_SCHEMA_OB_OBJ_PRIV_TYPE_

enum OB_RAW_OBJ_PRIV_ID {
#define OB_OBJ_PRIV_TYPE_DEF(priv_id, priv_name) priv_id,
#include "share/schema/ob_obj_priv_type.h"
#undef OB_OBJ_PRIV_TYPE_DEF

};

#endif /* OB_OBJ_PRIV_TYPE_ */
